package com.xuecheng.media.service;

import com.xuecheng.model.PageParams;
import com.xuecheng.model.PageResult;
import com.xuecheng.media.model.dto.QueryMediaParamsDto;
import com.xuecheng.media.model.dto.UploadFileParamsDto;
import com.xuecheng.media.model.dto.UploadFileResultDto;
import com.xuecheng.media.model.po.MediaFiles;
import org.springframework.stereotype.Service;

/**
 * @description 媒资文件管理业务类
 * @author Mr.M
 * @date 2022/9/10 8:55
 * @version 1.0
 */
@Service
public interface MediaFileService {

 /**
  * @description 媒资文件查询方法
  * @param pageParams 分页参数
  * @param queryMediaParamsDto 查询条件
  * @return com.xuecheng.base.model.PageResult<com.xuecheng.media.model.po.MediaFiles>
  * @author Mr.M
  * @date 2022/9/10 8:57
 */
 public PageResult<MediaFiles> queryMediaFiels(Long companyId, PageParams pageParams, QueryMediaParamsDto queryMediaParamsDto);

    /**
     * 上传文件
     * @param companyId
     * @param path
     * @param uploadFileResultDto
     * @return
     */
    UploadFileResultDto uploadFile(Long companyId, String path, UploadFileParamsDto uploadFileResultDto,String objectName);

    /**
     * 将文件添加到文件表中
     * @param companyId
     * @param fileMd5
     * @param uploadFileParamsDto
     * @param
     * @param objectName
     * @return
     */
    public MediaFiles addMediaFilesToDb(Long companyId,UploadFileParamsDto uploadFileParamsDto,String fileMd5,String objectName);

    /**
     * 根据文件标识
     * @param mediaId
     * @return
     */
    MediaFiles getFileById(String mediaId);

}
